LIKE 運算子搭配 WHERE 子句可以依一特定模式 (Pattern) 為條件來搜尋資料表中的特定資料。
這樣算是可以做模糊查詢,不需要符合設定值才搜尋的到。
SELECT table_column1, table_column2, table_column3...
FROM table_name
WHERE column_name LIKE pattern;
假設我們想從下面的 guest 資料表中取得住在桃園市的顧客資料:
客戶資料表(guest)
顧客姓名(Primary Key) | 住址 | 電話 |
---|---|---|
李大華 | 桃園市中壢區中大路 | 09111211 |
陳大名 | 高雄市鳳山區三多一路 | 09232323 |
陳阿美 | 新北市板橋區西門街 | 09226541 |
林大帥 | 桃園市蘆竹區南崁路 | 09232489 |
我們可以使用這樣的 LIKE 查詢語句:
SELECT * FROM guest WHERE 住址 LIKE '桃園市%';
查詢結果如下:
客戶資料表(guest)
顧客姓名(Primary Key) | 住址 | 電話 |
---|---|---|
李大華 | 桃園市中壢區中大路 | 09111211 |
林大帥 | 桃園市蘆竹區南崁路 | 09232489 |
相反的,NOT LIKE 就是不包含在條件裡的的資料我通通要了,如上例多加上 NOT:
SELECT * FROM guest WHERE 住址 NOT LIKE '桃園市%';
查詢結果如下:
客戶資料表(guest)
顧客姓名(Primary Key) | 住址 | 電話 |
---|---|---|
陳大名 | 高雄市鳳山區三多一路 | 09232323 |
陳阿美 | 新北市板橋區西門街 | 09226541 |
下篇見